const simulateSetTimeout = (fn, timeout) => {
  let timer = null;

  timer = setInterval(() => {
    // 关闭定时器，保证只执行一次fn，也就达到了setTimeout的效果了
    clearInterval(timer);
    fn();
  }, timeout);
  // 返回用于关闭定时器的方法
  return () => clearInterval(timer);
};

const cancel = simulateSetTimeout(() => {
  console.log(1);
}, 1000);

// 一秒后打印出1
